namespace WarehouseEntryChannel {
  export interface SearchForm extends Base.Pagination {
    id: Array<string>;
    deliveryType: string;
    multipleWeightingMethod: string;
    status: number;
  }
  export type ListRows = {
    id: string;
    [propsName: string]: any;
  };
  export interface AddForm extends Base.GeneraDataType {
    channelName: string;
    waybillPrefix: string;
  }
  export interface MakeOfferForm extends Base.GeneraDataType {
    itemList: Array<BaseOffer>;
    weightSegmentList: Array<Base.GeneraDataType>;
    customerLevelList: Array<CustomerLevel>;
    customerAdjustmentList: Array<Base.GeneraDataType>;
    bizQuotationHistoryListRes: Array<bizQuotationHistoryListRes>;
  }
  export type CustomerLevel = {
    customerLevelId: string;
    adjustmentValue: number;
    unit: string;
    [propName: string]: any;
  };
  export type BaseOffer = {
    countryList: Array<string>;
    region: string;
    city: string;
    detailsList: Array<{
      unitPrice: number;
      amount: number;
      firstWeight: number;
      firstPrice: number;
      continuationWeight: number;
      continuationPrice: number;
    }>;
  };

  type bizQuotationHistoryListRes = {
    id: number;
    channelId: number;
    beginTime: string;
    endTime: string;
    updateName: string;
    updateTime: string;
  };

  export interface AddChargeForm {
    name: string;
    type: string;
    typeValue: string;
    price: number;
    unit: string;
    baseProductSize: string;
    exceedSize: string;
    conditionDesc: string;
  }
}
